feat(slack): add new tools and user selectors#3420
Conversation
PR SummaryMedium Risk Overview Slack block UX and parameter mapping updated to expose these operations, add Slack Behavioral tweak: workflow execution logging/branching now treats “executing from chat” strictly as Written by Cursor Bugbot for commit 1673fc0. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR adds four new Slack tools ( Key concerns:
Confidence Score: 2/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant UI as Slack Block UI
participant Block as slack.ts (config)
participant Registry as tools/registry.ts
participant Tool as Slack Tool
participant API as Slack API
UI->>Block: operation = get_channel_info
Block->>Registry: resolve → slack_get_channel_info
Registry->>Tool: slackGetChannelInfoTool
Tool->>API: GET conversations.info?channel=C123
API-->>Tool: { ok: true, channel: {...} }
Tool-->>UI: channelInfo object
UI->>Block: operation = get_user_presence
Block->>Registry: resolve → slack_get_user_presence
Registry->>Tool: slackGetUserPresenceTool
Tool->>API: GET users.getPresence?user=U123
API-->>Tool: { ok: true, presence: "active" }
Tool-->>UI: presence (+ null detail fields for non-self)
UI->>Block: operation = edit_canvas (insert_at_end)
Block->>Registry: resolve → slack_edit_canvas
Registry->>Tool: slackEditCanvasTool
Tool->>API: POST canvases.edit { canvas_id, changes:[{operation}] }
API-->>Tool: { ok: true }
Tool-->>UI: "Successfully edited canvas"
UI->>Block: operation = edit_canvas (rename) ❌
Block->>Registry: resolve → slack_edit_canvas
Registry->>Tool: slackEditCanvasTool
Tool->>API: POST canvases.edit { changes:[{operation:"rename"}] }
API-->>Tool: { ok: false, error: "invalid_arguments" }
Tool-->>UI: Error thrown
UI->>Block: operation = create_channel_canvas
Block->>Registry: resolve → slack_create_channel_canvas
Registry->>Tool: slackCreateChannelCanvasTool
Tool->>API: POST conversations.canvases.create { channel_id }
API-->>Tool: { ok: true, canvas_id: "F123" }
Tool-->>UI: canvas_id
Last reviewed commit: 1673fc0
|
|
@cursor review |
|
@greptile |
…hat guard (#3419) * fix(chat): use explicit trigger type check instead of heuristic for chat guard * fix(chat): remove heuristic fallback from isExecutingFromChat Use only overrideTriggerType === 'chat' instead of also checking for 'input' in workflowInput, which can false-positive on manual executions with workflow input. * fix(chat): use isExecutingFromChat variable consistently in callbacks Replace inline overrideTriggerType !== 'chat' checks with !isExecutingFromChat to stay consistent with the rest of the function.
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.ts
Show resolved
Hide resolved
Provide required output fields on error path to match SlackCanvasResponse type. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The error field belongs on ToolResponse, not inside the output object. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
Type of Change
Testing
Tested manually
Checklist